package com.xh3140.xwidget.dialog.params;


import android.content.Context;
import android.graphics.Typeface;
import android.view.Gravity;

import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Px;
import androidx.annotation.Size;

/**
 * 对话框加载主体视图配置属性
 * 每一个属性都有默认的设定值
 * 在创建对话框时这些属性可以自定义修改
 */
public final class LoadingParams extends AbstractParams {
  /**
   * 是否是旋转样式
   * true 旋转样式
   * false 水平样式
   */
  public boolean spinner = true;

  /**
   * 是否是无限的
   */
  public boolean infinite = true;

  /**
   * 旋转视图高度 px
   */
  @Px
  public int spinnerHeight = dp2px(64);

  /**
   * 水平视图高度 px
   */
  @Px
  public int horizontalHeight = dp2px(16);

  /**
   * 加载视图进度条背景资源ID
   */
  @DrawableRes
  public int drawable = 0;

  /**
   * 加载视图进度条最大刻度
   */
  public int max = 100;

  /**
   * 加载视图进度条刻度
   */
  public int progress = 0;

  /**
   * 加载视图颜色 argb
   */
  @ColorInt
  public int tintColor = 0xFF8A8A8A;

  /**
   * 加载视图外边距
   * 格式：[start, top, end, bottom] px
   */
  @Nullable
  @Size(4)
  public int[] margins = dps2pxs(11, 11, 11, 11);

  /**
   * 文本位置是否在上方
   */
  public boolean isTopSubtitle = false;

  /**
   * 文本
   */
  @Nullable
  public CharSequence text = null;

  /**
   * 文本位置
   */
  public int gravity = Gravity.CENTER;

  /**
   * 文本字体大小 sp
   */
  public float textSize = 15f;

  /**
   * 文本字体颜色 argb
   */
  @ColorInt
  public int textColor = 0xFF8F8F8F;

  /**
   * 文本字体样式
   */
  public int typeface = Typeface.NORMAL;

  /**
   * 背景颜色 argb
   */
  @ColorInt
  public int backgroundColor = 0x00000000;

  /**
   * 内边距
   * 格式：[start, top, end, bottom] px
   */
  @Nullable
  @Size(4)
  public int[] padding = dps2pxs(0, 0, 0, 11);

  public LoadingParams(@NonNull Context context) {
    super(context);
  }
}